package  com.orangelife.service.webservice.v1_0_0.propFeeMeter;


import java.util.List;
import java.util.Map;

import javax.jws.WebParam;
import javax.jws.WebService;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;

import org.apache.cxf.interceptor.InInterceptors;
import org.apache.cxf.interceptor.OutInterceptors;

import com.orangelife.service.propFeeMeter.model.PropFeeMeterDto;





/*****************************************************************
 * Copyright(C) ORANGELIFE Corporation 2015. All Rights Reserved.
 *****************************************************************/
/* ==============================================================
 * 功能名                           propFeeMeter类 的WebService基本作业
 * @author          @author zhr
 * @version         1.1.0
 * @date             2016-07-04 11:04:21
 * ==============================================================*/
@WebService
@InInterceptors(interceptors = "org.apache.cxf.interceptor.LoggingInInterceptor")
@OutInterceptors(interceptors = "org.apache.cxf.interceptor.LoggingOutInterceptor")
public interface IPropFeeMeterWebService {
	

   
   	/**
   	 * 用途  添加  （橙子生活）
	 * @author zhr
	 * @date创建时间  2016-07-04 11:04:21
	 * @param servletRequest
	 * @param propFeeMeter}
	 * @return
	 * @throws Exception
	 */

	@POST
	@Path("/add")
	@Produces({ "application/json" })
	public Response addPropFeeMeter(@Context HttpServletRequest servletRequest,
			@WebParam PropFeeMeterDto propFeeMeter) throws Exception;

   	/**
   	 * 用途   修改（橙子生活）
	 * @author zhr
	 * @date创建时间  2016-07-04 11:04:21    
	 * @param servletRequest
	 * @param propFeeMeter
	 * @return
	 * @throws Exception
	 */
	@PUT
    @Path("/edit")
	@Produces({ "application/json" })
	public Response editPropFeeMeter(@Context HttpServletRequest servletRequest,
			@WebParam PropFeeMeterDto propFeeMeter) throws Exception;



	/**
	  *用途 删除（橙子生活）
	 *@date 创建时间  2016-07-04 11:04:21
	 * @author zhr 
     * @param servletRequest
	 * @param meterID
	 * @return
	 * @throws Exception
	 */
	@DELETE
	@Path("{meterID}")
	@Produces({ "application/json" })
	public Response deletePropFeeMeter(@Context HttpServletRequest servletRequest,
			@PathParam("meterID") String meterID) throws Exception;

	

	/**
	*用途 详情（橙子生活）
	 *@date 创建时间  2016-07-04 11:04:21
	 * @author zhr
     *@param servletRequest
	 * @param meterID
	 * @return
	 * @throws Exception
	 */ 
	@GET
	@Path("{meterID}/")
	@Produces({ "application/json" })
	public Response findPropFeeMeterByID(@Context HttpServletRequest servletRequest,
			@PathParam("meterID") String meterID) throws Exception;
 
    /**
	 * 用途   查询列表（橙子生活）
	 * @author zhr
	   *@date 创建时间  2016-07-04 11:04:21
	 * @param servletRequest
	 * @param search   搜索内容
	 * @param tsCreate 创建时间 
	 * @param pageIndex 页码 
	 * @param pageSize 页面大小 
	 * @return
	 * @throws Exception
	 */ 
	@GET
	@Produces({ "application/json" })
	public Response getAllPropFeeMeter(@Context HttpServletRequest servletRequest,
			@QueryParam("search") String search,
			@QueryParam("tsCreate") String tsCreate,
			@QueryParam("pageIndex") String pageIndex,
			@QueryParam("pageSize") String pageSize) throws Exception;
			
	
    /**
	 * 用途   查询列表（橙子生活）
	 * @author zhr
	   *@date 创建时间  2016-07-04 11:04:21
	 * @param servletRequest
	 * @param search   搜索内容
	 * @param tsCreate 创建时间 
	 * @param pageIndex 页码 
	 * @param pageSize 页面大小 
	 * @return
	 * @throws Exception
	 */ 		
			
	@POST
    @Path("/bauthfinds")
	@Produces({ "application/json" })
	public Response bauthFindPropFeeMeters(@Context HttpServletRequest servletRequest,
				@WebParam Map<String,Object>  propFeeMeter) throws Exception;





 /**
	 * 用途   查询列表（橙子生活）
	 * @author zhr
	   *@date 创建时间  2016-07-04 11:04:21
	 * @param servletRequest
	 * @param search   搜索内容
	 * @param tsCreate 创建时间 
	 * @param pageIndex 页码 
	 * @param pageSize 页面大小 
	 * @return
	 * @throws Exception
	 */ 		
			
	@POST
    @Path("/bauthfind")
	@Produces({ "application/json" })
	public Response bauthFindPropFeeMeter(@Context HttpServletRequest servletRequest,
				@WebParam List<String>  propFeeMeter) throws Exception;
	
}
